package JAVA300.第十二章网络编程;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;

/**
 * 发送端
 *  * 1.使用DatagramSocket创建发送端，指定端口
 *  * 2，准备数据，转成字节数组 。。。。.getByte()---控制台不断输入
 *    3.封装成DatagramPacket包裹，指定目的地
 *  * 4.发送包裹 send（DatagramPacket p）
 *  * 5.释放资源
 */
public class web04_UDP5_ChatClient {
    public static void main(String[] args) throws Exception {
        System.out.println("发送端启动当中。。。。。");
        //1使用DatagramSocket创建发送端，指定端口
        //封装进线程构造器---
        DatagramSocket client = new DatagramSocket(8888);
        //2准备数据，转成字节数组
        //*********8利用bufferedReader 借助InputStreamReader进行字节流到字符流转换

        //封装进线程构造器---
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        //死循环来不断获取输入
        //线程run里
        while (true){
            String msg = reader.readLine();
            byte[] datas = msg.getBytes();


            //3封装成DatagramPacket包裹，指定目的地,最后的参数InetSocketAddress 封装ip地址和端口，也就是Server端的那个
            DatagramPacket packet = new DatagramPacket(datas,0,datas.length,
                    new InetSocketAddress("localHost",9999));
            //4发送包裹 send（DatagramPacket p）
            client.send(packet);

            if (msg.equals("bye")){
                break;
            }
        }

        //5释放资源
        //client.close();

    }
}
